A peer-to-peer network is defined as a plurality of computers connected by an electronic network in such a way that each computer can both initiate message transmissions to any other computer on the network, and receive message transmissions from any other computer on the network. A local area network (LAN) is an example of a peer-to-peer network.
The universal serial bus (USB) is a communication bus architecture associated with computing devices that generally allows host-to-device communication through the exchange of packets, or messages. The USB messages typically include header information and data. For example, in the context of a personal computer, the computer processor could be considered the host, and the mouse, keyboard, printer, joystick, disk drives, etc. could be considered the devices that communicate with the host. The conventional USB protocol specifies that all communication messages be transferred between the USB host and the devices attached to the host. The USB architecture is economical to employ due to the availability of competitively priced microprocessors that include an integrated USB device interface.
The conventional USB protocol is also useful for communication in which large bandwidth and the ability to “hotswap” processor modules is important. The term “hotswap” refers to the situation in which a USB device is removed from an operating computer system and replaced with another processor without removing power from the system.
Unfortunately, this conventional protocol, by requiring that all communication between devices connected to the USB occur between the host and each device, prevents device-to-device, also referred to as “peer-to-peer” communication.
Therefore, a need exists for a high bandwidth communication protocol and bus that allows the removal and replacement of processor modules without removing power from the system and that allows peer-to-peer communication between devices connected to a communication bus.